AWS Media Servicesに対して参照権限のみを持つIAMポリシー
はじめに
清水です。AWSリソースに対して参照権限のみを与えたいIAMユーザ/IAMロールに対して、AWS管理ポリシーの「ReadOnlyAccess」を使用するケースがあるかと思います。AWS Media Servicesの各サービスのリソースを参照しようとした場合、多くはこの「ReadOnlyAccess」だけでは不十分で、リソースを参照することができません。AWS Media Servicesに対して参照権限を持つポリシーを作成して「ReadOnlyAccess」とあわせて適用することで、AWS Media Servicesについてもリソースが参照できるようにしてみました。
ReadOnlyAccessだけでAWS Media Servicesにアクセスした場合
以下のようなAWS管理ポリシー「ReadOnlyAccess」のみをアタッチしたIAMユーザ(ReadOnlyUser)で、例えばMediaLiveのマネージメントコンソールにアクセスしてみます。(MediaLiveにはいくつかリソースが存在しています。)
以下のようにアクセス権限がない旨の警告が表示され、リソースの参照ができません。
MediaConvertについてはリソースが参照できるようです。
AWS管理ポリシーの「ReadOnlyAccess」の内容を確認すると原因がわかるのですが、以下のようにAWS Media ServicesについてはMediaConvertとMediaPackageの一部の機能しか権限がありません。(2019/09/30時点の内容です。管理ポリシーのアップデートで追加されればよいのですが。)
対策として、他のAWS Media Servicesの権限を別途IAMロール/IAMユーザにポリシーとして追加してみました。
MediaServicesReadOnlyAccessポリシー
ということで、AWS Media Servicesに対する参照権限を作成してみます。具体的には以下IAMのポリシーリファレンスを参考に、各サービスにおけるDescribe*
/Get*
/List*
のアクションを集めてきました。
- AWS Elemental MediaConnect のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaConvert のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaLive のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaPackage のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaPackage VOD のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaStore のアクション、リソースおよび条件キー - AWS Identity and Access Management
- AWS Elemental MediaTailor のアクション、リソース、および条件キー - AWS Identity and Access Management
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "mediaconnect:Describe*", "mediaconnect:List*", "mediaconvert:Describe*", "mediaconvert:Get*", "mediaconvert:List*", "medialive:Describe*", "medialive:List*", "mediapackage:Describe*", "mediapackage:List*", "mediapackage-vod:Describe*", "mediapackage-vod:List*", "mediastore:Describe*", "mediastore:Get*", "mediastore:List*", "mediatailor:Get*", "mediatailor:List*" ], "Effect": "Allow", "Resource": "*" } ] }
この内容でユーザ管理ポリシーを作成してIAMユーザ/IAMロールにアタッチします。またはインラインポリシーとして追加することもできます。
実際に、先ほどのReadOnlyUserにこの内容をインラインポリシーとして追加してみます。
今度はMediaLiveのリソースが参照できました。同様に他AWS Media Servicesの各サービスも参照することができます。
まとめ
AWS Media ServicesのすべてにはAWS管理ポリシー「ReadOnlyAccess」でアクセスできなかったため、各サービスの参照系アクションをまとめてポリシーを作成、参照できるようにしてみました。